(defpackage :gwee
  (:use cl)
  (:export 
   ;; colors
   color
   acolor
   color=
   gray
   *red-color*
   *orange-color*
   *dark-green-color*
   *white-color*
   *black-color*
   *light-gray-color*
   *default-background-color*
   *default-foreground-color*
   *default-font-name*
   *default-font-size*
   default-font
   ;; gwee
   *surface*
   top-level-dir
   top-level-path
   toggle-fullscreen
   resource
   view
   top
   *top-view*
   event-poll-hook
   view-data
   view-x
   view-y
   view-width
   view-height
   view-bottom
   view-right
   view-scroll-x
   view-scroll-y
   view-cache-top-x
   view-cache-top-y
   view-parent
   view-subviews
   view-needs-update-p
   view-needs-sync-p
   view-name
   best-x
   best-y
   best-width
   best-height
   center
   center-x
   center-y
   force-updates
   delete-view
   delete-views-if
   replace-view
   widget
   disabled-p
   background-mixin
   border-color
   background-color
   foreground-mixin
   foreground-color
   data-mixin
   callback-mixin
   click-callback
   callback-data
   title-mixin
   title-text
   translate-coordinates
   translate-coordinates-to-top
   find-subview-at
   view-to-top-x
   view-to-top-y
   top-to-view-x
   top-to-view-y
   draw-view
   sync-views
   view-font
   horizontal-offset
   vertical-offset
   ;; events
   make-key
   key-sym
   key-mod
   key-press-event
   key-release-event
   mouse-press-event
   mouse-release-event
   mouse-motion-event
   mouse-enter-event
   mouse-leave-event
   grab-mouse
   ungrab-mouse
   top-mouse-grabs
   with-mouse
   grab-keyboard
   ungrab-keyboard
   with-keyboard
   with-events
   with-gui
   resize-window
   enqueue
   handle-gui-events
   dispatch-events
   clear-event-queue
   ;; mouse
   get-mouse-state
   warp-mouse
   ;; keys
   key-to-character
   character-to-key
   key-modp
   keymap
   ;; widgets
   button
   text
   text-area
   wrap-text
   ;; hooks
   hook
   add-hook
   remove-hook
   run-hook
   run-hook-with-args
   event-hooks-mixin
   enter-hook
   leave-hook
   mouse-press-hook
   mouse-release-hook
   mouse-motion-hook
   key-press-hook
   key-release-hook
   resize-hook
   move-hook
   ;; font & style
   open-font
   string-width
   ;; layouts
   column-layout
   row-layout
   margin-top
   margin-bottom
   margin-left
   margin-right
   switchable-layout
   switchable-layout-current-view
   ;; wrap view
   wrap-layout
   ;; timers
   timer
   timer-time
   timer-repeat
   timer-function
   timer-args
   run-with-timer
   cancel-timer
   cancel-all-timers
   ;; errors
   *crash-handler*
   report-errors
   save-error-and-quit
   ;; image
   image
   load-image-source
   image-source
   ;; dialogs
   prompt-for-string
   display-message
   die
   tree
   define-component
   text-input
   component
   post-initialize-component
   component-for-view
   with-layout
   ;; animations
   animation-mixin
   update-callback
   animation-interval
   ;; graphics primitives
   draw-filled-aa-circle
   draw-filled-aa-trigon
   draw-filled-aa-polygon
   draw-hline
   draw-vline
   draw-line
   draw-line-*
   draw-lines-*
   draw-rectangle
   draw-bubble-rectangle
   draw-rectangle-*
   draw-polygon
   draw-thick-polygon
   draw-bezier
   draw-trigon
   draw-circle
   draw-ellipse
   draw-text
   ;; divider
   divider
   divider-direction
   ;; radio button
   radio-button
   selected
   radio-id
   radio-buttons-with-id
   ;; open dialog
   choose-file
   choose-new-file
   ;;
   run-program
   native-namestring
   ;;
   process-run-function
   process-kill
   ;;
   now))

(pushnew :gwee *features*)
